import java.util.Scanner;

public class p1047 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            // 读取马路长度 l 和区域数目 m
            int l = scanner.nextInt();
            int m = scanner.nextInt();

            // 创建一个数组表示马路上的树，初始时所有树都存在（值为 true）
            boolean[] trees = new boolean[l + 1];
            for (int i = 0; i <= l; i++) {
                trees[i] = true;
            }

            // 处理每个区域
            for (int i = 0; i < m; i++) {
                int u = scanner.nextInt();
                int v = scanner.nextInt();
                // 将区域内的树标记为移走（值为 false）
                for (int j = u; j <= v; j++) {
                    trees[j] = false;
                }
            }

            // 统计剩余的树的数量
            int count = 0;
            for (int i = 0; i <= l; i++) {
                if (trees[i]) {
                    count++;
                }
            }

            // 输出剩余树的数量
            System.out.println(count);

            scanner.close();
        }
    }



